Method and control unit for controlling an overdetermined system, system and aircraft

ABSTRACT

A method for controlling an overdetermined system with multiple actuators, for example an aircraft (1) with multiple propulsion units (3). The actuators perform at least one primary task and at least one non-primary task, including: a) determining a pseudo-control command up ∈p′ based on a physical model of the system, which command represents the torques (L, M, N) and a total thrust force (F) acting on the system, b) determining a control matrix D, D∈p′×k according to up=Du, where u1=D−1upu1 ∈k represents a control command for the actuators to perform the primary task, c) projecting the non-primary task into the null space N(D) of the primary task, so that Du2=0 if u2u2 ∈k represents a control command for the actuators to perform the non-primary task, and d) providing the control commands from b) and c) to the actuators. In this way, the solution of the primary task is not adversely affected by the non-primary task or its solution.

INCORPORATION BY REFERENCE

The following documents are incorporated herein by reference as if fullyset forth: German Patent Application No.: 10 2021 102 251.7, filed Feb.1, 2021, from which priority is claimed.

TECHNICAL FIELD

The invention relates to a method for controlling an overdeterminedsystem with multiple actuators, for example an aircraft with multiplepropulsion units.

The invention also relates to a control unit for controlling anoverdetermined system with multiple actuators, for example an aircraftwith multiple propulsion units.

The invention further relates to an overdetermined system with multipleactuators.

Finally, the invention also relates to an aircraft with multiplepropulsion units and optionally further actuators, such as movable flapsor winches, which together form an overdetermined system.

BACKGROUND

Airplanes, flying machines or aircraft with overdetermined actuation(“over-actuation”, i.e. the aircraft has a larger number of actuatorsthan is necessary for the execution of so-called primary tasks in itscontrol volume) offer the possibility of realizing this task with morethan one solution. This intuitively implies that, depending on theairplane type, the actuator type, and the tasks defined in the controlvolume, there may be additional room to perform one or more other(non-primary) tasks

Combining different tasks with a respective priority in such a way thatlow-priority tasks do not affect high-priority tasks is not a trivialtask. The way secondary or third-level (tertiary or generallynon-primary) tasks are added to a control and allocation problem(assignment problem) can substantially affect the available performancefor solving a primary task and the stability of that solution.

In European Patent Application 19 212 935.1, the applicant proposes amethod for operating an eVTOL flying machine with 18 rotors, in whichthe primary control assignment finds a solution with so-called “L-2”minimization for the provision of the required thrusts and torques,while imposing a secondary and lower priority (not primary) compulsionto reduce the maximum LTU (lift thrust unit) power. This is carried outby changing the gain parameters of the assignment problem as a functionof the deviation of an LTU value (the revolution rate—RPM) from thecorresponding average value of the total LTUs (so-called “L-inf”minimization). Two tasks are carried out in one step, which makes itimpossible to assign a different priority or criticality to thedifferent goals. In addition, a failure or erroneous behavior whenachieving a goal with lower criticality (for example a secondary goal)can negatively affect solving a task with higher criticality (forexample a primary goal).

SUMMARY

The invention is based on the object of remedying the situation here andspecifying a method, a control unit, a system and a flying machine or anaircraft of the respective type mentioned, with which, in addition tothe solution of at least one primary task, the solution of at least onenon-primary task is possible without adversely affecting the primarytask or its solution.

This object is achieved by a method with one or more of the featuresdisclosed herein, by a control unit with one or more of the featuresdisclosed herein, by a system with one or more of the features describedherein, and by an aircraft with one or more of the features describedherein.

Preferred further developments are defined below and in the claims.

A method according to the invention for controlling an overdeterminedsystem with multiple actuators, for example an aircraft with multiplepropulsion units, winches, flaps or the like, wherein the actuatorsperform at least one primary task and at least one non-primary task,includes:

a) determining a pseudo-control command based on a physical model of thesystem, which pseudo control command represents in particular thetorques and a total thrust force acting on the system;

b) determining a control matrix D, D∈

^(P′×k) according to u_(p)=Du, so that u₁=D⁻¹u_(p)u₁∈

^(k)r represents a control command for the actuators to perform theprimary task,

c) projecting the non-primary task into the null space N(D) of theprimary task, so that Du₂=0 if u₂, u₂∈

^(k) represents a control command for the actuators to perform thenon-primary task, and

d) providing the control commands from b) and c) or an overall controlcommand to the actuators.

A control unit according to the invention for controlling anoverdetermined system with multiple actuators, for example an aircraftwith multiple propulsion units, winches, flaps, etc., wherein theactuators perform at least one primary task and at least one non-primarytask, is designed and set u_(p), in particular software technically, for

a) determination of a pseudo-control command u_(p)∈

^(p′) based on a physical model of the system, which pseudo-controlcommand represents in particular the torques and a total thrust forceacting on the system,

b) determination of a control matrix D, D∈

^(p′×k) according to u_(p)=Du, so that u₁=D⁻¹u_(p)u₁∈

^(k) represents a control command for the actuators to perform theprimary task,

c) projecting the non-primary task into the null space N(D) of theprimary task so that Du₂=0 if u₂u₂∈

^(k) represents a control command for the actuators to perform thenon-primary task, and

d) providing the control commands from b) and c) or an overall controlcommand for the actuators in order to control them accordingly.

The control unit may be further designed and set up to carry out furtherdevelopments described below of the method according to the invention.

An overdetermined system according to the invention comprises multipleactuators actively connected to a control unit according to theinvention.

An aircraft according to the invention comprises multiple propulsionunits and optionally further actuators, such as movable flaps orwinches, which together form an overdetermined system according to theinvention, in particular in the form of a multicopter with a number ofpreferably electrically driven rotor units.

“Actuators” are understood in the present case in particular, but notexclusively, to mean propulsion units, such as rotor units or the like.In addition, depending on the design of the system (the flying machine),there are other means, such as flaps, winches, etc. or generally meansof operation, which the system needs to perform certain physical tasks.

A method for assigning task priorities to overdetermined systems (forexample flying machines) is proposed, in which low-priority tasks(non-primary tasks) are projected into the null space of higher prioritytasks (primary tasks). This ensures that the low-priority tasks do notadversely affect the high-priority tasks or their solution.

In the present case, “null space” is to be understood as the core of a(linear) mathematical representation. The core of a linearrepresentation f:V→W between vector spaces V and W consists of thosevectors in V which are mapped to the zero vector in W; it is thereforethe solution set of the homogeneous linear equation f (x)=0 and istherefore also referred to as a null space.

Looking at the example from EP 19 212 935.1, the primary task may be tofind the solution of the control assignment to generate the required(total) thrust and the required torques with “L-2 minimization”.Accordingly, a secondary, i.e. non-primary, task can be the reduction ofthe maximum LTU power with “L-inf minimization”. If this secondary taskis projected into the null space of the primary task according to thepresent invention, it is ensured that it does not affect the solution ofthe primary task. This is desirable for safety reasons, as the primarytask is essential, but the secondary task is only preferable. Inaddition, another subordinate (for example tertiary task) can beassigned, for example reducing the power of a particular (or multiple)LTU(s) to for example 75% because the drive unit in question wasoverheated or classified as faulty. As part of a corresponding furtherdevelopment of the invention, the tertiary task is projected into thenull space of the primary and secondary tasks, so that it does notadversely affect the higher prioritized tasks.

In the example above, the secondary and tertiary tasks can swap placesdepending on the requirement and prioritization. In this application,achieving the required thrust and torques is considered a primary task,and everything else (secondary, tertiary or other tasks) is considerednon-primary.

The presented method can also be used for quaternary, quinary or othertasks if there is still appropriate space in the null space. If there isno more space in the null space, these tasks are simply ignored due tothe definition of the null space.

It should be emphasized that the proposed idea provides an extremelyadvantageous separation of tasks according to their respectivecriticality, which can be used for assigning different design assurancelevels (DAL) of functions with different criticalities and goals. Thishas a noticeable influence on the reduction of the development costs ofsafety-critical devices, such as flying machines.

Although reference has been repeatedly made here and below to flyingmachines, the described method is also generally suitable forcontrolling overdetermined actuator systems of any kind.

At this point, the mathematical-physical background of the invention—inparticular with regard to flying machines—will be briefly discussed inmore detail in order to facilitate understanding.

The equations of motion of systems which can be derived with theNewton-Euler principle or the Lagrange method can be represented asfollows:

M(x){umlaut over (x)}+c(x,{dot over (x)})+g(x)+G(x)u _(p) =f_(ext),  Equation 1

wherein x∈

^(m) denotes the in-dimensional configuration vector of the system, forexample positions and rotations in 3D, M(x)∈

^(m×m) denotes the state-dependent generalized inertial torque, (c, ċ)∈

^(m) denotes the state-dependent Coriolis forces, g(x)∈

^(m) denotes the gravitational forces, and f_(ext)∈

^(m) are the external forces and torques, for example due toaerodynamics, contact, etc. The required physical control commands (orpseudo-control commands) for the system are designated as u_(p)∈

^(p′), which are for example calculated with a feedback control law andused to control the system. These pseudo-control commands are thebody-fixe forces and torques acting on the system through differentactuators, and they each enter the system dynamics given in equation 1with a rule input matrix G(x)∈

^(m×p′). These matrices contain in particular the information about anover-/under-actuation.

For the calculation of u_(p) control methods (or laws) are used (forexample direct dependencies or feedback control laws, etc.). Theconnection between these calculated control commands and the actualactuator control commands u_(p)u∈

^(k) is made by means of an assignment or allocation problem, whichcontains in particular the geometric knowledge about the positioning ofthe actuators in the system and other actuator-relevant configurationsand properties. The following applies:

u _(p) =Du,  Equation 2

wherein D∈

^(p′×k) defines the so-called control effectiveness matrix (in short:control matrix). According to the use of control methods—as mentionedabove—the pseudo-control commands u_(p) are first calculated. However,these must be distributed to the physical actuators in the form of theactual control commands u, which is commonly known as the controlmapping problem or allocation problem. Therefore, a type of inversematrix calculation is required to calculate u from u_(p). This isrepresented by

u=D ⁻¹(W,u ^(min) ,u ^(max))u _(p),  Equation 3

wherein this inversion is usually carried out taking into account aweight or weighting matrix W_(i) ∈

^(k×k) and the physical limits of each actuator, for example u_(min) ∈

^(k) and u^(max) ∈

^(k), wherein ∇i=1, . . . , k u_(k) ^(min)≤u_(i)≤u_(k) ^(max).

We refer to (A=D⁻¹(W,u^(min),u^(max))∈

^(k×p′) as the “control mapping matrix” (or the allocation matrix).

For a flying machine, such as the 18-rotor Volocopter® aircraft from theapplicant's company, u_(p)∈

⁴ represents a vector which contains the required (control) thrust andthe three-dimensional (actuation) torques which act on the flyingmachine with regard to its center of gravity. Furthermore, there is avector u E

¹⁸ which contains the eighteen (18) desired rotor control commands.

The distributed actuator control commands u were calculated above usingthe mapping matrix A∈

^(k×p′), which is a result of a matrix inversion problem. For systemswith a redundant number of actuators (i.e. k>p′), there may be more thanone solution to this inversion problem if the control matrix has enoughlinearly dependent columns (this is known to those skilled in the artwho are familiar with linear algebra). In this application, such systemsare referred to as “overdetermined systems”.

The presence of more than one solution to the inversion problem createsthe possibility of a “null space” different from zero which can be usedfor other (secondary or tertiary or generally lower prioritized) taskswithout jeopardizing the main goal (the primary task or its solution).In the present case, the primary task consists of the calculation of theactuator control commands u from the required physical control commands.u_(p)

The null space, also known as the core, of a matrix D∈

^(p′×k) is the set of all vectors v, so that D v=0. Therefore, the nullspace of the matrix D can be defined as:

N(D)={v|D v=0}.

A possible representation of the null space of a matrix D can becalculated according to:

N(D)=I−D ^(T)(D ⁻¹)^(T)∈

^(k×k)

wherein I ∈

^(k×k) is a k×k identity matrix.

If one assumes that the primary goal is achieved by using the mappingmatrix, i.e.

u ₁ =D ⁻¹ u _(p),

then u₁ ∈

^(k) is the vector which contains the actuator commands which achievethe primary goal of generating the required physical control commandsu_(p), i.e. which solve the primary task. The mapping generatesexecutable commands, i.e.

u ₁ ∈U:={u∈

^(k) |u ^(min) ≤u≤u ^(max)}.

A corresponding embodiment of the method according to the inventionprovides that the null space N(D) is calculated according toN(D)=I−D^(T) (D⁻¹)^(T) ∈

^(k×k) with u₁=D⁻¹u_(p), wherein u₁ ∈

^(k) is the vector or control command containing those actuator commandswhich solve the primary task and generate necessary physical controlcommands u_(p) for the actuators, with u₁ ∈U:={u∈

^(k)|u^(min)≤u≤u^(max)}.

If one now considers u₂ ^(org)∈

^(k), which is calculated to achieve a secondary (not primary) goal,then u₂ ^(org) can be projected onto the null space of the controlmatrix used for the primary goal according to

u ₂ =Nu ₂ ^(org).

A corresponding embodiment of the method according to the inventionprovides that u₂ ^(org)∈

^(k) is first calculated to solve the non-primary task, and that u₂^(org) is then projected onto the null space N(D) of the control matrixD according to u₂=Nu₂ ^(org).

Then the complete control command is calculated in particular asfollows:

u=u ₁ +u ₂.

In this way, both u and u₁ generate the same physical control commandsu_(p), i.e.

u _(p) =Du=Du ₁,

since Du ₂ =DNu ₂ ^(org)=0.

This guarantees that the primary goal will be achieved in any case andthe secondary goal will be achieved only if there is enough space in thenull space.

A corresponding embodiment of the method according to the invention thusprovides that subsequently a complete control command u is calculated asfollows: u=u₁+u₂, wherein u and u₁ generate the same control commandsu_(p) since u_(p)=Du=Du₁ because Du₂=DNu₂ ^(org)=0.

In order to advantageously ensure the feasibility of the overallcommand, so that u ∈U, the following limits should preferably be adheredto in the secondary assignment step:

u ₂ ^(org) ∈u ₂ :={u ₂ ^(org)∈

^(k) |u ^(min) −u ₁ ≤N ₂ u ₂ ^(org) ≤u ^(max) −u ₁}.

A corresponding embodiment of the method according to the invention thusprovides that u₂ ^(org)∈U₂:={u₂ ^(org)∈

^(k)|u^(min)−u₁≤N₂u₂ ^(org)≤u^(max)−u₁}.

The same approach can be applied to a tertiary task (and accordingly toother, subordinate tasks), wherein it is assumed for example that u₃^(org)∈

^(k) results. Then this follows accordingly

u ₃ =Nu ₃ ^(org).

Then the complete control command is

u=u ₁ +u ₂ +u ₃,

wherein in turn it is ensured that the primary goal is always achieved,i.e.

u _(p) =Du=Du ₁.

This continues recursively, resulting in the following for the i-thtask:

u _(i) =Nu _(i) ^(org),

and

u=Σ _(i=1) ^(n) u _(i).

Similarly, for the generalized limits, the following can be written:

u _(i) ∈U _(i) :{u _(i)∈

^(k) |u ^(min) −u _(Σ) ≤N u _(i) ≤u ^(max) −u _(Σ)}

wherein u _(Σ)=Σ_(j=1) ^(i−1) u _(j).

This control assignment with task prioritization using null spaceprojections can be used advantageously for flying machines withdistributed actuators, among others.

An example of an overdetermined system is a multi-engine aircraft withk=18 distributed actuators fixed in a common body reference system,which corresponds to the design of the Volocity® and the Volodrone® fromthe applicant's operation. The former is used as a passenger-carryingair taxi and the latter for the purpose of carrying payloads.

The proposed method can also be used for any other system with anexcessive number of actuators if the system is overdetermined. If theactuators can move relative to a common body reference system (forexample tilt actuators or flaps/wings), then the control matrix maydiffer for tasks with different priorities. The proposed method is alsoapplicable to such configurations.

The primary task is to provide the physical control forces (for exampletorques and thrust) generated by the (flight) control law, i.e.

u ₁ =D ⁻¹ u _(p),

wherein the solution of the inversion problem (the mapping matrix) ispreferably calculated in such a way that it minimizes the energyconsumption caused by u₁. That is, A=D⁻¹(W, u^(min), u^(max)) is appliedwith an L-2 minimization goal to u₁ ^(T)Wu₁ (for example in the form ofthe well-known Moore-Penrose pseudo-inversion method).

A corresponding embodiment of the method according to the inventionprovides that the inverse of the control matrix D according tou₁=D⁻¹u_(p) for the primary task is calculated in such a way that anexpression u₁ ^(T)Wu₁ is minimized, for example using the Moore-Penroseinversion method, wherein u=D⁻¹(W, u^(min), u^(max))u_(p), with theweighting matrix W_(i) ∈

^(k×k) and physical load limits, u^(min) ∈

^(k) and u^(max) ∈

^(k), with ∇i=1, . . . , k:u_(k) ^(min)≤u_(i)≤u_(k) ^(max), for eachactuator.

The secondary non-primary) task may be designed to reduce the maximumpeaks in the actuator commands but is of course not limited to this.Unlike in EP 19 212 935.1, however, it is ensured in the present casethat the secondary task or its solution does not adversely affect theprimary task. Thus, the secondary task is achieved by calculating thoseactuator commands u₂ which seek to bring the components of the primaryactuator commands u₁ which are above the average value (or any otherreference value) closer to this value. This allows an equivalentdistribution of actuator commands (to solve the primary task), whichimplicitly reduces the maximum peaks. In this sense, the describedsecondary task has an L-inf minimization goal.

For this purpose, the average value of the actuator commands whichachieve the primary goal u₁ is preferably calculated first:

$\begin{matrix}{{u_{1,m} = {\frac{1}{k}\Sigma_{i = 1}^{k}{u_{1}(i)}}},{{\forall i} = {\left\{ {1,{.\;.\;.}\;,k} \right\}.}}} & \;\end{matrix}$

Then the difference between the actuator commands which achieve theprimary goal and the average value is given by:

u _(d) =u ₁ −u _(1,m).

Then those actuator commands for the secondary task are calculated whichaim to reduce u_(d) for the final actuator commands:

${u_{2}^{org}(i)} = \left\{ {\begin{matrix}{{- {u_{d}(i)}},} & {{{if}\mspace{14mu}{u_{d}(i)}} > 0} \\{0,} & {otherwise}\end{matrix},{{\forall i} = {\left\{ {1,{.\;.\;.}\;,k} \right\}.}}} \right.$

A corresponding embodiment of the method according to the inventionprovides that the control commands for solving the non-primary task,u₂=Nu₂ ^(org), are calculated in such a way that components of thecontrol commands for solving the primary task, u₁, approach an averagevalue, by means of the steps:

(i) calculating an average of the control commands to solve the primarytask: u₁

$\begin{matrix}{{u_{1,m} = {\frac{1}{k}{\sum_{i = 1}^{k}{u_{1}(i)}}}},{{\forall i} = \left\{ {1,{.\;.\;.}\;,k} \right\}}} & \;\end{matrix}$

(ii) determining a difference between the control commands to solve theprimary task, u₁, and the average value:

u _(d) =u ₁ −u _(1,m)

(iii) calculating the control commands to solve the non-primary task inorder to reduce u_(d):

${u_{2}^{org}(i)} = \left\{ {\begin{matrix}{{- {u_{d}(i)}},} & {{u_{d}(i)} > 0} \\{0,} & {otherwise}\end{matrix},{{\forall i} = {\left\{ {1,{.\;.\;.}\;,k} \right\}.}}} \right.$

The null space is calculated as follows:

N=I−D ^(T)(D ⁻¹)^(T)∈

^(k×k)

and the secondary task is projected onto this null space as follows:

u ₂ =Nu ₂ ^(org).

A preferred further development of the method according to the inventionprovides that, in addition to the primary task and the non-primary task,at least one (further) subordinate task is defined, which is to becarried out by the actuators, for example a load reduction μ_(j) for atleast one actuator j, μ_(j)∈[0,1], with control commands u₃=Nu₃ ^(org),so that

u ₃ ^(org)(j)=−(1−μ_(j))(u ₁(j)+u ₂(j)),

wherein a complete control command is then calculated as follows:.u=u₁+u₂+u₃.

Alternatively, it may be provided that, in addition to the primary taskand the non-primary task, at least one (further) subordinate task isdefined, which is to be performed by the actuators, for example a loadreduction μ_(j) for at least one actuator j, μ_(j)∈[0,1], with controlcommands u₃=Nu₃ ^(org), so that

u ₃ ^(org)(j)=−(1−μ_(j))u ^(max),

wherein a complete control command is then calculated as follows:.u=u₁+u₂+u₃.

Such a tertiary task can preferably be defined to adjust the commands ofindividual actuators if, for example, one or more actuators must performa task with reduced load. This can be the case if one or more actuatorsis (are) taken into account but is (are) overloaded or overheated. Theremay be other reasons for adjusting the commands of individual actuators.

As an example, it should be assumed that actuator j should work withefficiency μ_(j), μ_(j)∈[0.1] (for example 0.75, i.e. 75%). The commandsfor more than one actuator can also be adjusted if desired. The decisionas to which actuator should be controlled with which efficiency canpreferably be made by an actuator observation function (implemented inthe form of an actuator observation device), the implementation detailsof which are not discussed further in this application.

Then the actuator commands which perform the tertiary task arecalculated according to the logic shown in FIG. 1 as an example, asalready described above.

For systems in which the actuators are fixed in relation to the flyingmachine, there is the already mentioned control matrix D. Therefore, thenull space for this task is again N as indicated above.

Then the tertiary task is projected onto this null space in such a waythat it does not affect either the secondary task or the primary task:

u ₃ =Nu ₃ ^(org).

Finally, the total actuator commands (or control commands) are:

u=u ₁ +u ₂ +u ₃,

wherein it is again ensured that the primary task is not affected by thesecondary tasks and tertiary tasks (non-primary tasks).

The order of the tasks can be changed depending on the priority withinthe scope of the invention.

A special further development of the control unit according to theinvention provides that this is actively connected to devices formeasuring and/or determining parameters and states of the system and/orthe actuators, which are required for the determination of thepseudo-control command according to step a), in particular by a mainflight control unit.

Another further development of the control unit according to theinvention provides that this is actively connected to an actuatorobservation device, which is designed and set up to determine, on thebasis of measured or certain parameters and states of the system and/orthe actuators, the actuators j for which the subordinate task—asdescribed above—is to be carried out and in particular to provide theassociated value μ_(j)∈[0,1] if necessary.

A specific reference to the use case “flying machine” is described blow.Accordingly, a further development of the method according to theinvention provides for the application of the same to an aircraft withmultiple propulsion units, preferably 18 propulsion units, k=18, whichpropulsion units form at least some of the actuators of the system.

The implementation in question presents a method for controlling anoverdetermined aircraft with task/goal prioritization, with which adifferent number of tasks for actuators of the aircraft can be managedin such a way that a primary task is not adversely affected bynon-primary tasks, while all tasks are performed in the best possibleway depending on a flying machine design. This is ensured by assigningthe non-primary tasks to the null space of the primary task, as hasalready been described multiple times. The layout of the aircraft (forexample the placement of the actuators) plays an important role in theconfiguration of the null space; this defines how well the non-primarytasks can be performed without jeopardizing the primary task.

The mathematics presented here are universally valid. Their algorithmicimplementation does not require any external measurements or sensorinputs. The control matrix D and the primary and non-primary controltasks/goals must be known or specified in the order of their priority.The present patent application focuses by way of example on theimplementation of the method for overdetermined systems in the form ofaircraft, for example of the Volocity® or Volodrone® type aircraft,which have a 4-dimensional control volume, but (without limitation) 18actuators. It is explained below how the method or a correspondingalgorithm can be implemented for such flying machines.

Flight control laws for stable and controlled trajectory tracking (forexample location, altitude and—if possible—positions and speeds)calculate the pseudo control command u_(p) ∈

⁴, which represents the three torques and a collective thrust whichshould act physically on the body of the aircraft. This is shownschematically in FIG. 2. There, L, M and N denote the torques around theaxes x, y and z (roll axis, pitch axis and yaw axis) of the flyingmachine 1, and F denotes the total thrust. Reference character 2symbolizes the (main) flight control unit of the flying machine 1, whichimplements or executes the aforementioned flight control laws, andreference character 3 denotes one of 18 identical propulsion units(actuators), each comprising an (electric) motor 3 a and a rotor 3 b.Reference character 4 refers to one of many sensor units by way ofexample which is actively connected to the flight control unit 2.

The primary goal (primary task) of the flight control unit is to realizethe four-dimensional thrust and torque vectors which act on the aircraft(generally on/around its center of gravity). For this reason,u₁=D⁻¹u_(p) is first calculated (wherein u₁ ∈

¹⁸A is a vector which contains the actuator commands which arecalculated to meet the primary goal). The solution of the inversionproblem (the mapping or allocation matrix A) is preferably calculated insuch a way that it minimizes energy consumption caused by u₁. This meansthat

A=D ⁻¹(W,u ^(min) ,u ^(max))

with an L-2 minimization goal with regard to u₁ ^(T)Wu₁ (for exampleMoore-Penrose pseudo-inversion) taking into account the physicalactuator load limits. The calculation of u_(p) should be done inadvance. This is preferably done by a main (flight) control lawimplemented in the (main) flight controller or control unit, whichrequires or undertakes an estimate of the attitude state of the flyingmachine (3D rotations in the form of angles or quaternions or rotationmatrices and their derivatives, i.e. rotational speeds or rotationalaccelerations), an altitude estimate (vertical altitude, speed andaccelerations) and, if available, an estimate of the horizontalposition/speed and accelerations. To calculate these estimates, inertialmeasuring instruments, barometers, GNSS and, if available,camera/ultrasound/lidar/radar are traditionally required as sensors toimprove the quality of the estimates (see reference character 4 in FIG.2). The flight control laws used are therefore usually state-feedbackcontrol laws designed to stabilize the aircraft and provide sufficientcontrollability and maneuverability, while at the same time being robustagainst system-internal and external unknowns.

The primary goal, as explained above, is the pseudo-control commandu_(p), and this should be sent as a control command u₁ to the individualactuators. Before that, however, the secondary goal is calculated andits contribution is added to the actuator commands without affecting theprimary goal (because the null space of the primary task is used forthis). The secondary task is carried out only as long as the primarytask is not affected. The secondary task may be to reduce the maximumpeaks in the actuator commands, as described in another context inapplication EP 19 212 935.1. In the present case, however, it is ensuredthat the secondary task does not affect the primary task. The secondarytask is thus solved in particular by the calculation of those actuatorcommands u₂ which seek to bring the components of the primary actuatorcommands u₁ which are above the average value closer to this averagevalue. This technique allows an equivalent distribution of actuatorcommands (in the sense of the primary task), while implicitly reducingthe maximum peaks. In this context, the secondary task has in particularan L-inf minimization goal. This step does not require sensor datainput.

It should be noted that the primary task was designed in thefour-dimensional space in which the physical torques and thrust actingon the flying machine are defined (cf. FIG. 2). The secondary task, onthe other hand, is first designed in the present 18-dimensional space inwhich the actuator commands are defined.

To achieve this, the average value of those actuator commands whichachieve the primary goal u₁ is first calculated:

$\begin{matrix}{{u_{1,m} = {\frac{1}{k}{\sum_{i = 1}^{k}{u_{1}(i)}}}},{{\forall i} = {\left\{ {1,{.\;.\;.}\;,k} \right\}.}}} & \;\end{matrix}$

Then the difference between the actuator commands which achieve theprimary goal and the average value is calculated:

u _(d) =u ₁ −u _(1,m).

Now, if we calculate the actuator commands for the secondary task whichaims to reduce u_(d), we get the final actuator commands of thesecondary task:

${u_{2}^{org}(i)} = \left\{ {\begin{matrix}{{- {u_{d}(i)}},} & {{{if}\mspace{14mu}{u_{d}(i)}} > 0} \\{0,} & {otherwise}\end{matrix},{{\forall i} = {\left\{ {1,{.\;.\;.}\;,k} \right\}.}}} \right.$

u₂ ^(org) represents the original actuator commands to achieve thesecondary goal alone. To ensure that the secondary task does not affectthe primary task, we first calculate the null space of the controlmatrix and then project u₂ ^(org) onto this null space. The null spaceis calculated as follows:

N=I−D ^(T)(D ⁻¹)^(T)∈

^(18×18).

Then the secondary task is projected onto this null space as follows:

u ₂ =Nu ₂ ^(org).

This guarantees both for u=u₁+u₂ and for u=u₁ that the control commandsin question achieve the primary goal (i.e. result in u_(p)), whileu=u₁+u₂ also enables the secondary goal to be achieved (if the nullspace allows it).

With the logic presented, the scope of control can include additionaltasks/goals with lower priority. For example, as an additional(tertiary) task, the adjustment of the commands of the individualactuators can be selected if, for example, one actuator or multipleactuators must be exposed to a lower load for certain reasons. This canhappen if, for example, one actuator or multiple actuators is/are to betaken into account but is/are overloaded or overheated or otherwisedefective. There may also be other reasons for adjusting the commandsfor individual actuators. A logic capable of recognizing such states isnot as such part of the present application: however, a correspondingmethod can use the available flying machine states (using inertialmeasurement units, GNSS, barometers, etc.), vibration sensors on theactuators, temperature sensors on the actuators as well as actuator andflying machine models (cf. reference character 4 in FIGS. 1 and 2). Inthis application, the logic in question is referred to as an “actuatorobservation device”, and this logic/algorithm preferably provides atleast two important values: which actuators (there may be multiple)should be adjusted (u_(j)) and to what extent (μ_(j)∈[0,1]u₃ ^(org))this should be done in each case. Then preferably one of the logicsshown in FIG. 1 for the calculation of u₃ ^(org) will be implemented orexecuted.

The tertiary task thus determined or its solution is projected onto thenull space as follows:

u ₃ =Nu ₃ ^(org).

The final overall control commands sent to the actuators in this caseare:

u=u ₁ +u ₂ +u ₃.

Again, it is worth noting that both u=u₁+u₂+u₃ and u=u₁ guarantee theachievement of the primary goal (the provision of u_(p)), while theformer control command u=u₁+u₂+u₃ is also of service in achieving thesecondary and tertiary goals (if the null space allows it).

BRIEF DESCRIPTION OF THE DRAWINGS

Further properties and advantages of the invention result from thefollowing description of the figures.

FIG. 1 shows the logic of an actuator observation function or deviceused in an embodiment of the method;

FIG. 2 shows a flying machine according to the invention; and

FIG. 3 shows a possible sequence of the method according to theinvention.

DETAILED DESCRIPTION

In FIG. 1, a special further development of the control unit accordingto the invention for an overdetermined system, for example a flyingmachine, is shown at reference character 2 a (see also FIG. 2 andassociated description). This further development provides that thecontrol unit 2 a has an active connection to devices for measuringand/or determining parameters and states of the system and/or theactuators, which are required for the determination of thepseudo-control command according to step a), in particular by a mainflight control unit. These devices (sensors) are symbolicallyrepresented with reference character 4 (cf. also FIG. 2 and associateddescription).

The control unit 2 a has an active connection to an actuator observationdevice 2 a″, which is designed and set u_(p) to determine, on the basisof the parameters and states of the system and/or the actuators measuredor determined at reference character 4, the actuators j for which asubordinate (tertiary) task—as described above—is to be carried out andin particular if necessary to provide the associated value μ_(j)∈[0,1],which is then used by the actual control algorithm 2 a′ (see also FIG. 2and associated description).

The upper subfigure in FIG. 1 shows the case in which, in addition tothe primary task and the non-primary task, at least one (further)subordinate task is defined, which is to be performed by the actuators,for example a load reduction μ_(j) for at least one actuator j,μ_(j)∈[0,1], with control commands u₃=Nu₃ ^(org), so that

u ₃ ^(org)(j)=−(1−μ_(j))(u ₁(j)+u ₂(j)),

wherein a complete control command is then calculated as follows:u=u₁+u₂+u₃. The load reduction factor μ_(j) is applied for the actuatorj to the (primary and secondary) control command u₁(j)+u₂(j) to obtainthe new (tertiary) control command u₃ ^(org) on the basis of u₂.

Alternatively, as the lower subfigure in FIG. 1 shows, it may beprovided that, in addition to the primary task and the non-primary task,at least one (further) subordinate task is defined, which is to beperformed by the actuators, for example a load reduction u_(j) for atleast one actuator j, μ_(j) ∈[0,1], with control commands u₃=Nu₃ ^(org),so that

u ₃ ^(org)(j)=−(1−μ_(j))u ^(max),

wherein a complete control command is then calculated as follows:u=u₁+u₂+u₃. The load reduction factor μ_(j) is applied to a maximum(physical) control value u^(max) for the actuator j in order to obtainthe new (tertiary) control command u₃ ^(org) the basis of u^(max).

Such a tertiary task can preferably be defined to adjust the commands ofindividual actuators if, for example, one or more actuator(s) mustperform a task with reduced load. This can be the case if one or moreactuators is/are taken into account but is/are overloaded or overheated.

As an example, it should be assumed that actuator j should work withefficiency μ_(j), μ_(j)∈[0,1] (for example 0.75, i.e. 75%). The decisionas to which actuator should be controlled with which efficiency canpreferably be made by an actuator observation function (implemented inthe form of the actuator observation device 2 a″).

FIG. 2 shows—as already mentioned—a system according to the invention ora flying machine 1 in the form of a multicopter with 18 propulsion units(actuators). In FIG. 2, L, M and N denote the torques around the axes x,y and z (roll axis, pitch axis and yaw axis) of the flying machine 1,and F denotes the total thrust. Reference character 2 symbolizes themain flight control unit of the flying machine 1, which preferablycomprises the control algorithm 2 a′ and the actuator observation device2 a″ from FIG. 1 and is generally set up for carrying out the methodaccording to the invention and further developments thereof, inparticular software technically. In the case of reference character 2 b,a human pilot is also shown, which is not worth noting further in thepresent case. Reference character 3 refers to one of the 18 (withoutlimitation, identical) propulsion units or actuators, each comprising an(electric) motor 3 a and a rotor 3 b. Reference character 4 refers to anexemplary sensor unit actively connected to the main flight control unit2, which has already been pointed out. In order to be able to take intoaccount the available flying machine states in a further development ofthe method according to the invention, a variety of such sensor units 4may be provided, in particular inertial measuring units, GNSS,barometers, vibration sensors on the actuators, temperature sensors onthe actuators, and the like.

The invention is not limited in its application to flying machines 1 asoverdetermined systems.

FIG. 3 shows a possible sequence of the method according to theinvention. It starts in step S1. In step S2 the pseudo-control commandis calculated as described in detail above. For this purpose, (sensor)measured values etc. from step S2′ can be used, as also described. Instep S3, the calculation of u_(p)u₁=D⁻¹u_(p) to solve the primary taskis carried out with the help of the control matrix D, as indicated. Instep S4 a secondary task is defined and the associated control commandu₂ ^(org) is calculated. For this purpose, (sensor) measured values etc.from step S4′ can be used, for example temperature measured values, asalready described. Then, in step S5, the non-primary (secondary) task orthe corresponding control command u₂ ^(org) is projected into the nullspace N(D) of the primary task, so that Du₂=0 if u₂, u₂ ∈

^(k) represents a control command for the actuators to perform thenon-primary task. This, too, has been described in detail above.

Step S6 contains a query as to whether further subordinate (non-primary,for example tertiary) tasks need to be solved. If so (j), steps S4 (ifappropriate S4′) and S5 are adjusted accordingly (for example with u₃^(org)) and repeated for the further task. Once the query is answeredwith no (n) in step S6, the method jumps to step S7, where the overallcontrol command is determined: .=u₁+u₂+ . . . , depending on the numberof tasks solved (see above). In step S8, this overall control command isapplied to control the actuators, and the method ends with step S9.

1. A method for controlling an overdetermined system with multipleactuators, wherein the actuators perform a primary task and anon-primary task, the method comprising: a) determining a pseudo-controlcommand u_(p) ∈

^(p′) based on a physical model of the overdetermined system, b)determining a control matrix D, D∈

^(p′×k) according to u_(p)=Du, so that u₁=D⁻¹u_(p)u₁ ∈

^(k) represents a control command for the actuators to perform theprimary task, c) projecting the non-primary task into a null space N(D)of the primary task, so that Du₂=0 if u₂u₂ ∈

^(k) represents a control command for the actuators to perform thenon-primary task, and d) providing the control commands from b) and c)to the actuators.
 2. The method as claimed in claim 1, furthercomprising calculating the null space N(D) according toN(D)=I−D ^(T)(D ⁻¹)^(T)∈

^(k×k) with u₁=D⁻¹u_(p), wherein u₁∈

^(k) is a vector or control command which contains actuator commandswhich solve the primary task and generate necessary physical controlcommands u_(p) for the actuators, withu ₁ ∈U:={u∈

^(k) |u ^(min) ≤u≤u ^(max)}.
 3. The method as claimed in claim 2,wherein u₂ ^(org)∈

^(k) is first calculated to solve the non-primary task, and then u₂^(org) is projected onto the null space N(D) of the control matrix Daccording to u₂=Nu₂ ^(org).
 4. The method as claimed in claim 3, furthercomprising subsequently calculating a complete control command u asfollows:u=u ₁ +u ₂, wherein u and u₁ generate the same physical control commandsu_(p).
 5. The method as claimed in claim 4, further comprisingspecifying for u₂ ^(org) thatu ₂ ^(org) ∈U ₂ :={u ₂ ^(org)∈

^(k) |u ^(min) −u ₁ ≤N ₂ u ₂ ^(org) ≤u ^(max) −u ₁}.
 6. The method asclaimed in claim 1, wherein the overdetermined system is for an aircraft(1) having multiple, k, propulsion units (3), and the propulsion unitsform at least some of the actuators of the overdetermined system.
 7. Themethod as claimed in claim 1, further comprising calculating an inverseof the control matrix D according to u₁=D⁻¹u_(p) for the primary tasksuch that an expression u₁ ^(T)Wu₁ is minimized, where u=D⁻¹(W,u^(min),u^(max))u_(p), with weighting matrix W_(i) ∈

^(k×k) and physical load limits u^(min) ∈

^(k) and u^(max) ∈

^(k) with ∇i=1, . . . , k:u_(k) ^(min)≤u_(i)≤u_(k) ^(max), for each ofthe actuators.
 8. The method as claimed in claim 7, wherein theexpression u₁ ^(T)Wu₁ is minimized using the Moore-Penrose inversionmethod.
 9. The method as claimed in claim 7, further comprisingcalculating the null space N(D) according toN(D)=I−D ^(T)(D ⁻¹)^(T)∈

^(k×k) with u₁=D⁻¹u_(p), wherein u₁ ∈

^(k) is a vector or control command which contains actuator commandswhich solve the primary task and generate necessary physical controlcommands u_(p) for the actuators, withu ₁ ∈U:={u∈

^(k) |u ^(min) ≤u≤u ^(max)}, wherein u₂ ^(org) ∈

^(k) is first calculated to solve the non-primary task, and then u₂^(org) is projected onto the null space N(D) of the control matrix Daccording to u₂=Nu₂ ^(org), and the control commands for solving thenon-primary task, u₂=Nu₂ ^(org), are calculated such that components ofthe control commands for solving the primary task, u₁, approximate to anaverage, using the steps: (i) calculating an average of the controlcommands for solving the primary task, u₁: $\begin{matrix}{{u_{1,m} = {\frac{1}{k}{\sum_{i = 1}^{k}{u_{1}(i)}}}},{{\forall i} = \left\{ {1,{.\;.\;.}\;,k} \right\}}} & \;\end{matrix}$ (ii) determining a difference between the control commandsfor solving the primary task, u₁, and the average value:u _(d) =u ₁ −u _(1,m) (iii) calculating the control commands for solvingthe non-primary task in order to reduce u_(d):${u_{2}^{org}(i)} = \left\{ {\begin{matrix}{{- {u_{d}(i)}},} & {{u_{d}(i)} > 0} \\{0,} & {otherwise}\end{matrix},{{\forall i} = {\left\{ {1,{.\;.\;.}\;,k} \right\}.}}} \right.$10. The method as claimed in claim 1, further comprising, in addition tothe primary task and the non-primary task, defining at least onesubordinate task which is to be carried out by the actuators, withcontrol commands u₃=Nu₃ ^(org), so thatu ₃ ^(org)(j)=−(1−μ_(j))(u ₁(j)+u ₂(j)), wherein a complete controlcommand is then calculated as follows:u= ₁ +u ₂ +u ₃.
 11. The method as claimed in claim 10, wherein the atleast one subordinate task is a load reduction μ_(j) for at least one ofthe actuators j, μ_(j)∈[0,1].
 12. The method as claimed in claim 1,further comprising, in addition to the primary task and the non-primarytask, defining at least one subordinate task which is to be carried outby the actuators, with control commands u₃=Nu₃ ^(org), so thatu ₃ ^(org)(j)=−(1−μ_(j))u ^(max), wherein a complete control command isthen calculated as follows:u=u ₁ +u ₂ +u ₃.
 13. The meho doc claim 12, wherein the at least onesubordinate task is a load reduction μ_(j) for at least one of theactuators j, μ_(j) ∈[0,1].
 14. The method as claimed in claim 1, whereinthe actuators are multiple propulsion units (3) for an aircraft (1), andsaid pseudo-control command represent torques (L, M, N) and a totalthrust force (F) acting on the system.
 15. A control unit (2 a)comprising a processor for controlling an overdetermined system withmultiple actuators, wherein the actuators perform a primary task and anon-primary task, the controller being configured for: a) determining apseudo-control command u_(p) ∈

^(p′) based on a physical model of the system, b) determining a controlmatrix D, D∈

^(p′×k) according to u_(p)=Du, so that u₁=D⁻¹u_(p)u₁∈

^(k) represents a control command for the actuators to perform theprimary task, c) projecting the non-primary task into a null space N(D)of the primary task so that Du₂=0 if u₂,u₂∈

^(k) represents a control command for the actuators to perform thenon-primary task, and d) providing the control commands from b) and c)to the actuators in order to control them accordingly.
 16. The controlunit (2 a) as claimed in claim 15, wherein the actuators are multiplepropulsion units (3) for an aircraft (1), and said pseudo-controlcommand represent torques (L, M, N) and a total thrust force (F) actingon the system.
 17. The control unit (2 a) as claimed in claim 16,further comprising sensors (4) for at least one of measuring ordetermining parameters and states of at least one of the system or theactuators, which are required for a determination of the pseudo-controlcommand according to step a).
 18. The control unit (2 a) as claimed in15, further comprising an actuator observation device (2 a″) configuredto determine, based on measured or certain parameters and states of atleast one of the system or the actuators, the actuators j for which asubordinate task is to be carried out and to provide an associated valueμ_(j)∈[0,1] if necessary.
 19. An overdetermined system comprisingmultiple actuators actively connected to the control unit (2 a) asclaimed in claim
 15. 20. An aircraft (1) comprising the overdeterminedsystem of claim 19, wherein the actuators comprise multiple propulsionunits (3) of a multicopter, the propulsion units including a number ofelectrically driven rotor units.